<?php
//------------------------------------------------------------ Contraintes d'accès de la page

	// on vérifie que cette page est appelée à partir de l'index et que l'utilisateur a le droit d'édition
	if(isset($_SESSION) && ($GLOBALS['USER']['level'] >= 4 || $GLOBALS['USER']['admin'])){

		// l'identifiant de la donnée à supprimer est indiqué par un entier
		if(isset($_GET['id']) && numericInt($_GET['id'])){
		
			$nb_prets = valueExists((int)$_GET['id'], "CODEPRETENTRANT", "pret_entrant", $connexion);
			
			if($nb_prets == 1){ // le prêt existe et son identifiant est unique
			
				// récupération des informations du sachet de graines
				$query_compte_sorties = "SELECT COUNT(*) FROM sortie WHERE CODEPRETENTRANT = ".$_GET['id'];
				
				$result_compte_sorties = mysql_query($query_compte_sorties, $connexion) or logError("COMPTE SORTIES-".$query_compte_sorties."-".mysql_error());
	
				$tab_compte_sorties = mysql_fetch_row($result_compte_sorties);
	
				if($tab_compte_sorties[0] == 0){ // Le prêt n'a pas déjà été retourné
	
?>
<?php
//------------------------------------------------------------ Valeur des champs avant saisie

	$dv_date_jour = date("j"); // valeur du champ jour de la date de plantation (ajt_date_jour)
	$dv_date_mois = date("n"); // valeur du champ mois de la date de plantation (ajt_date_mois)
	$dv_date_annee = date("Y"); // valeur du champ année de la date de plantation (ajt_date_annee)
	
?>
<?php
//------------------------------------------------------------ Traitements si le formulaire a été envoyé

/********************************* Règles :

	- le pret ne doit pas avoir déjà été rendu
	- la date de rendu ne peut pas être antérieure à la date d'entrée

*****************************************/

	$statut = array(); // indique le statut du traitement du formulaire (echec ou succes) - tableau contenant les messages à afficher
	$erreur = false; // indique si une erreur a été rencontrée lors du traitement

	trimTabByKey($_POST, "ajt_"); // appel à la fonction trimTabByKey() définie dans fonctions.php
	
	//---------------------------------- Contrôle des données ----------------------------------
	
	if(isset($_POST['form_sent'])){ // si le formulaire est envoyé
		
		// Contrôle des données de la date de retour
		if(isset($_POST['ajt_date_jour']) && is_string($_POST['ajt_date_jour']) && isset($_POST['ajt_date_mois']) && is_string($_POST['ajt_date_mois']) && isset($_POST['ajt_date_annee']) && is_string($_POST['ajt_date_annee'])){
			if(numericInt($_POST['ajt_date_jour']) && numericInt($_POST['ajt_date_mois']) && !emptyString($_POST['ajt_date_annee']) && numericInt($_POST['ajt_date_annee'])){
				if(checkdate($_POST['ajt_date_mois'], $_POST['ajt_date_jour'], $_POST['ajt_date_annee'])){
					if(strtotime($_POST['ajt_date_annee']."-".$_POST['ajt_date_mois']."-".$_POST['ajt_date_jour']) <= time()){
						// Récupération de la date de la dernière entrée du sachet de graines
						$query_recuperation_date_entree = "SELECT DATEENTREE FROM entree WHERE CODEPRETENTRANT = ".$_GET['id']." ";
						$result_recuperation_date_entree = mysql_query($query_recuperation_date_entree, $connexion) or logError("RECUPERATION DATE ENTREE-".$query_recuperation_date_entree."-".mysql_error());
						$tab_recuperation_date_entree = mysql_fetch_row($result_recuperation_date_entree);
						mysql_free_result($result_recuperation_date_entree);
						if(strtotime($_POST['ajt_date_annee']."-".$_POST['ajt_date_mois']."-".$_POST['ajt_date_jour']) > strtotime($tab_recuperation_date_entree[0])){
							$dv_date_jour = $_POST['ajt_date_jour'];
							$dv_date_mois = $_POST['ajt_date_mois'];
							$dv_date_annee = $_POST['ajt_date_annee'];
						}else{
							$statut[] = "La date de retour de l'emprunt ne peut pas être antérieure ou égale à la date d'entrée";
							$erreur = true;
						}
					}else{
						$statut[] = "La date de retour de l'emprunt n'est pas encore passée";
						$erreur = true;
					}
				}else{
					$statut[] = "Date de retour de l'emprunt incorrecte";
					$erreur = true;
				}

			}else{
				$statut[] = "Format de la date de retour de l'emprunt incorrect";
				$erreur = true;
			}
		}else{
			$statut[] = "Aucune date de retour de l'emprunt indiquée";
			$erreur = true;
		}
		
		//---------------------------------- Enregistrement du retour ----------------------------------
	
		if(!$erreur){ // aucune erreur n'a été rencontrée jusqu'ici
		
			$query_recuperation_entree = "SELECT SAC_CODESACHETGRAINE, SEM_CODESEMIS, TOU_CODETOUFFE FROM entree WHERE CODEPRETENTRANT = ".$_GET['id'];
				
			$result_recuperation_entree = mysql_query($query_recuperation_entree, $connexion) or logError("RECUPERATION ENTREE -".$query_recuperation_entree."-".mysql_error());
	
			$tab_recuperation_entree = mysql_fetch_row($result_recuperation_entree);
		
			// Création de la sortie
			$query_creation_sortie = "INSERT INTO sortie(CODETYPEDISPARITION, CODEPRETENTRANT, CODEPRETSORTANT, CODECOMMANDEEXTERNE, CODEPERSONNE, CODESTRUCTURE, CODESACHETGRAINE, CODETOUFFE, CODESEMIS, DATESORTIE, NUMSORTIE) ";
			$query_creation_sortie .= "VALUES( NULL , ".$_GET['id']." , NULL , NULL , NULL , NULL ";
			if(!is_null($tab_recuperation_entree[0])){
				$query_creation_sortie .= ", ".$tab_recuperation_entree[0]." , NULL , NULL ";
			}else if(!is_null($tab_recuperation_entree[1])){
				$query_creation_sortie .= ", NULL , NULL , ".$tab_recuperation_entree[1]." ";
			}else if(!is_null($tab_recuperation_entree[2])){
				$query_creation_sortie .= ", NULL , ".$tab_recuperation_entree[2]." , NULL ";
			}
			$query_creation_sortie .= ", '".$_POST['ajt_date_annee']."-".$_POST['ajt_date_mois']."-".$_POST['ajt_date_jour']."' , NULL) ";
			
			$result_creation_sortie = mysql_query($query_creation_sortie, $connexion) or logError("CREATION SORTIE-".$query_creation_sortie."-".mysql_error());
			
			if($result_creation_sortie === true){
				$statut[] = "L'emprunt a été rendu - redirection dans 2 sec...";
				logAction("SORTIE (id: ".valueMax("CODESORTIE", "sortie", $connexion).") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
				
			}else{
				$statut[] = "Erreur critique lors du retour de l'emprunt";
				$erreur = true;
			}
			
			mysql_free_result($result_recuperation_entree);
		
		}
		
	}
?>
<?php
//------------------------------------------------------------ Affichage du statut si le formulaire a été envoyé

	if(isset($_POST['form_sent'])){ // si le formulaire est envoyé
		
		if($erreur){
			afficherStatut($statut, 3); // appel à la fonction afficherStatut() définie dans fonctions.php
		}else{
			afficherStatut($statut, 1); // appel à la fonction afficherStatut() définie dans fonctions.php
			redirection("gestion/pretentrant_gere", 2); // appel à la fonction redirection() définie dans fonctions.php
		}
	
	}

?>
<?php
	boutonRetour("index.php?p=gestion/pretentrant_gere"); // // appel à la fonction boutonRetour() définie dans fonctions.php
?>
<form method="post" action="index.php?p=gestion/pretentrant_retourne&amp;id=<?php echo $_GET['id']; ?>">
	<table class="formulaire" style="margin-left: auto; margin-right: auto;">
		<tr>
			<th class="titre" colspan="2">Retour d'un emprunt</th>
		</tr>
		<tr>
			<td style="width: 120px" class="etiquette">Date de rendu * :</td>
			<td style="width: 260px" class="champ">
				<select name="ajt_date_jour">
					<?php
						for($i=1; $i<=31; $i++){
							if($dv_date_jour == $i){
								echo "<option value=\"".$i."\" selected=\"selected\">".$i."</option>";
							}else{
								echo "<option value=\"".$i."\">".$i."</option>";
							}
						}
					?>
				</select>
				<select name="ajt_date_mois">
					<option value="1" <?php if($dv_date_mois == 1) echo "selected=\"selected\""; ?>>Janvier</option>
					<option value="2" <?php if($dv_date_mois == 2) echo "selected=\"selected\""; ?>>Février</option>
					<option value="3" <?php if($dv_date_mois == 3) echo "selected=\"selected\""; ?>>Mars</option>
					<option value="4" <?php if($dv_date_mois == 4) echo "selected=\"selected\""; ?>>Avril</option>
					<option value="5" <?php if($dv_date_mois == 5) echo "selected=\"selected\""; ?>>Mai</option>
					<option value="6" <?php if($dv_date_mois == 6) echo "selected=\"selected\""; ?>>Juin</option>
					<option value="7" <?php if($dv_date_mois == 7) echo "selected=\"selected\""; ?>>Juillet</option>
					<option value="8" <?php if($dv_date_mois == 8) echo "selected=\"selected\""; ?>>Aout</option>
					<option value="9" <?php if($dv_date_mois == 9) echo "selected=\"selected\""; ?>>Septembre</option>
					<option value="10" <?php if($dv_date_mois == 10) echo "selected=\"selected\""; ?>>Octobre</option>
					<option value="11" <?php if($dv_date_mois == 11) echo "selected=\"selected\""; ?>>Novembre</option>
					<option value="12" <?php if($dv_date_mois == 12) echo "selected=\"selected\""; ?>>Décembre</option>
				</select>
				<input type="text" name="ajt_date_annee" size="4" value="<?php echo htmlentities($dv_date_annee, ENT_COMPAT, "UTF-8"); ?>" />
			</td>
		</tr>
		<tr>
			<td class="envoi" colspan="2"><input type="submit" value="Retourner" /><input type="hidden" name="form_sent" value="1" /></td>
		</tr>
		<tr>
			<td class="legende" colspan="2">* = champs obligatoires</td>
		</tr>
	</table>
</form>
<?php
//------------------------------------------------------------ Accès refusé à la page



				}else{
					afficherStatut("L'emprunt a déjà été retourné", 3); // appel à la fonction afficherStatut() définie dans fonctions.php
				}

				mysql_free_result($result_compte_sorties);

			}else{
				afficherStatut("L'emprunt à retourner n'existe pas", 3); // appel à la fonction afficherStatut() définie dans fonctions.php
			}

		}else{
			afficherStatut("L'emprunt à retourner n'est pas ou mal indiqué", 3); // appel à la fonction afficherStatut() définie dans fonctions.php
		}

	}else{
		if(isset($_SESSION)){
			if(!isset($_SESSION['user_id'])){ // si l'utilisateur n'est pas connecté
				include("pages/connexion.php");
			}else{ // si l'utilisateur est connecté et qu'il n'a pas accès à la page, c'est qu'il n'a pas le droit d'utilisation nécessaire
				include("pages/401.htm");
			}
		}
	}

?>